/**
 * 自定义请求参数
 */
export interface RequestConfigExtra {
    // 请求公共前缀
    apiPrefix?: string
    // 请求模块前缀
    modulePrefix?: string
    // 忽略重复请求
    ignoreCancelToken?: boolean

    // 是否携带token
    withToken?: boolean

    // 响应处理函数：直接返回原生响应
    isReturnNativeResponse?: boolean
    // 响应处理函数：是否对返回结果进行处理，如果不处理则返回 response.data
    isTransformResponse?: boolean

    success?: boolean | Function
    error?: boolean | Function
}

/**
 * 返回错误
 */
export class ResponseBodyError extends Error {
    code: string
    message: string
    cause: any

    constructor({ code, message, cause }: { code: string; message: string; cause?: any }) {
        super()
        this.code = code
        this.message = message
        this.cause = cause
    }
}
